/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufba.lasid.v1.jitclouds.mda.datatypes;

import java.io.Serializable;

/**
 *
 * @author aliriosa
 */
public class FTServiceLevel extends ServiceLevel implements Serializable{
    
    /*Fault-tolerance Levels*/
    public enum LEVELS{
        Gold, Silver, Bronze, Unknown
    }
    
    public static final String AllowHandShake = "allowHandShake";
    public static final String AllowAutonomic = "allowAutonomic";
    public static final String LevelSpec = "level";
    public static final String Constraints = "constraints";
    
    /*Fault-tolerance Metrics*/
    public static final String Availability = "availability";    
    public static final String DetectionTime = "detectionTime";    
    public static final String RecoveryTime = "recoveryTime";    
    public static final String BlockingTime = "blockingTime";    
    public static final String ReplicationLatency = "replicationLatency";    
    public static final String DetectionMistakeRate = "detectionMistakeRate";    
    public static final String Downtime = "downtime";    
    public static final String Uptime = "Uptime";    

    public FTServiceLevel() {
        set(AllowHandShake, false);
        set(AllowAutonomic, false);
        set(LevelSpec, LEVELS.Unknown);        
        set(Constraints, new FTServiceConstraints());
    }
    
}
